#include "BaseMsgReporter.h"

// 前置声明一些驱动对象，避免此头文件引入过多头文件，导致编译时间增加
class DriverManager;
using DriverManagerPtr = std::shared_ptr<DriverManager>;
class Motor;
using MotorPtr = std::shared_ptr<Motor>;

class MotorMsgReporter : public BaseMsgReporter
{
public:
    MotorMsgReporter();
    virtual ~MotorMsgReporter() = default;

    virtual bool Init();
    virtual std::string GetReportMsg() override;

private:
    std::string m_motorData;


private:
    DriverManagerPtr m_driverManager = nullptr;     // 驱动管理对象
    MotorPtr m_motor1 = nullptr;                    // 电机驱动1 对象
    MotorPtr m_motor2 = nullptr;                    // 电机驱动2 对象
};

